perm filename FRAME.UTL[BNF,JRA] blob sn#045427 filedate 1973-05-25 generic text, type T, neo UTF8
00050	(SETQ LST @(L S T))(SETQ FLUENTS @(AT NAT ON NON UNDER NUNDER))
00075	(DE TAX()(SETQ XX(IN <AXIOM>)))
00100	(DE UNION(X Y)(PROG NIL 
00200	A(COND((NULL X)(RETURN Y))
00300	((MEMQ (CAR X)Y))
00400	(T(SETQ Y(CONS(CAR X)Y))))
00500	(SETQ X(CDR X))(GO A)))
00600	(DE MAKENOT(X)
00700	(PROG(Z Z1)
00800	(SETQ Z(CONS(READLIST(CONS @N(EXPLODE(CAR X))))(CDR X)))
00900	(SETQ Z1(MAKEPRED Z))
01100	(RETURN(LIST @THCOND(LIST(LIST @THNOT Z)T)(LIST(LIST Z1)))) ))
01200	
01250	)))
01260	(DE MAKEPRED(Z)(COND((MEMQ(CAR Z)FLUENTS)(LIST @THGOAL Z @(THTBF FILTEROP)))
01270			(T(LIST @THGOAL Z))))
01280	
01300	(DE MAKEQUAL(X Y)(PROG(Z)
01400	(COND((EQ(CAAR X) @THV)(SETQ Z(LIST(LIST @THASVAL (CAR X))))))
01500	(COND((EQ(CAADR X)@THV)(SETQ Z(CONS(LIST @THASVAL(CADR X))Z))))
01600	(RETURN(LIST @THCOND(LIST(APPEND @(THAND) Z(LIST Y))
01700				 @(THFAIL))
01800			 @(T T))) ))
01900	
02000	)))
02100	(DE MAKEARGS(P)(PROG(Z)(SETQ Z(LIST @THV(READLIST(APPEND(EXPLODE P)@(A R G S)))))
02200	(RETURN(LIST @THCOND(LIST(LIST @NULL Z)T)
02300			   (LIST T(LIST @THSETQ Z(LIST @CDR Z)))))) )
02400	(DE PCBODY(PCL C)
02500	(CONS(CAR C)(COND((NULL(CADR C))(APPEND PCL(CDDR C)))
02600	(T(CONS(CADR C)(APPEND PCL(CDDR C)))))) )